#pragma once
#include "tlv_buffer.h"
#include <string>

class TLVWriter {
public:
    explicit TLVWriter(TLVBuffer& buffer);

    bool writeUint8(uint8_t value);
    bool writeUint16(uint16_t value);
    bool writeUint32(uint32_t value);
    bool writeString(const std::string& str);
    bool writeBlob(const std::vector<uint8_t>& blob);

private:
    TLVBuffer& buffer_;
};
